package interfaces;

import java.util.*;
import java.rmi.*;

/*
  Cette interface met en place les differentes fonctions qui seront utilisees 
  pour les operations sur les jetons.
  Il s'agit presque exclusivement de methodes de get/set.
*/

public interface TokenITF extends Remote {
	
	/*
	  Methodes de get/set sur les donnees de la classe TokenImpl
	*/
	public int getSender() throws RemoteException;
	public ClientITF getSenderITF() throws RemoteException;
	
	public void setIdMax(int id) throws RemoteException;
	public int getIdMax() throws RemoteException;
	
	public void setCapacityMax(int cm) throws RemoteException;
	public int  getCapacityMax() throws RemoteException;

	public void addHaveSeen(ClientITF client) throws RemoteException;	
	public Vector getHaveSeen() throws RemoteException;
	
	/*
	  Methode de test : si le client entre en parametre a deja recu le token.
	*/
	
	public boolean hadBeenSeen(ClientITF client) throws RemoteException;

}
